This is the Frontier CGI Framework version 3.0.1. It is a collection of scripts and a structure that make writing and running CGI applications in Frontier simple and powerful. CGI stands for Common Gateway Interface, which is simply a standard method of communication between a web server and an external application to add functionality to the web server.
Installation
The CGI Framework requires the UserLand Frontier version 3.0.3 or greater (not Frontier Runtime). Frontier can be downloaded for free from Dave Winer's Aretha website.
http://www.hotwired.com/staff/userland/aretha/
Before installing make sure Frontier's memory partition is set to at least 1300K. I recommend at least 2500K of memory for running CGI's due to multithreading.
To set Frontier's memory partition:
1. Quit Frontier if it is running
2. Select the UserLand Frontier™ application icon.
3. Select "Get Info…" from the File menu
4. In the "Memory Requirements" box, set the "Preferred size" to at least 1300.
5. Close the window
Double-click the "Installer" file to load the new scripts into the object database.
The installer will ask for the host name of your web server. You should enter the valid Internet domain name for your web server in this blank (i.e. "www.webedge.com"). Do not include any "http://" prefixes. If your server does not have a domain name, an IP address will work fine.
This installer with also ask you to select your web server folder. This is the folder that contains your HTML documents and other files to be served on the Web. If you have a WebSTAR server, this will be the folder that contains the WebSTAR application.
Once installation is complete the installer will ask if you want to view the webServer.readme file. I highly recommend reading that document.
After installation, select "StatusMessage" from the pop-up menu in Frontier's main window. Doing this will reactivate the statusMessage agent, letting it update the time in the main window.
If you are running a WebStar server and have not previously configured it to use Frontier as a CGI application, double-click the "Configure WebStar" file to automatically setup WebStar to work with Frontier.
After installation, read the readMe files in the webServer suite for further information. You can also open the file "readme.fcgi" on your web server for a brief overview of the features of this CGI framework.
For Example:
http://www.yourserver.com/readme.fcgi
What's New
3.0.1
Fixed memory leak and case-sensitivity bugs in stringOps UCMD used by toys.parseArgs, toys.urlEncode and toys.urlDecode commands. (Dave Winer)
New Anarchie glue table (Sean Allen)
Fixed bug in counter macro
Expanded and re-edited readme's
Installer checks shipdate, sets certain preferences, won't overwrite errorPage preference.
HTML menu "Export…" command now adds ".html" extension to file name
processMacros script now optionally removes unprocessed macros from page
webServer.actions.macro script now caches pages in OD
New hostName preference
New shipDate preference
New rootPath preference
New removeMacros preference
Added table.gotoAddress to webTraps.safeScripts table
3.0
The most important change for CGI script writers is the new "webServer.httpHeader" script. It replaces the "WebStar.initReplyText" command for generation of HTTP headers. This change was made in anticipation of supporting non-WebStar web servers in the future. A command that is not server-specific really makes more sense, and in the long run will make it possible to write one Frontier CGI that will run with multiple flavors of web servers.
The WebStar.initReplyText will remain as-is to avoid breaking existing scripts. But it is not likely to be updated, and will exist only for backward-compatibility.
All new Frontier-based CGI's should use "webServer.httpHeader" to create the necessary HTTP headers.
This release contains a whole slew of new and/or improved features:
• New embedded dynamic macros
• New safety-checking routine for UserTalk scripts embedded in web pages
• New logging of CGI script errors
• New menu command to quickly create CGI scripts
• New HTML menu and html-editing tools
• String, text and binary objects can now be served from the object database
• New user-customizable error page
• Improved semaphore suite
• Support for WebStar 1.2 and server push
• Detailed readme files document every feature
• Various bug fixes and speed improvements
Configure WebSTAR is a desktop script that will configure a WebStar server to use Frontier as a CGI application. It creates a FRONTIER action mapped to an alias to the Frontier application named "Frontier.acgi" in the WebStar folder. It maps the suffix ".fcgi" to the FRONTIER action.
Bug reports/Getting help
You can get more information about the Frontier CGI Framework form the Frontier CGI Scripting site at: http://www.webedge.com/frontier/
Please bug reports to: Mason Hale <hale@onr.com>
Legal Notice
These scripts may be freely distributed, provided all components of the distribution are included in their original, unmodified form and this notice remains intact. This software is provided "as is", with no warranty of merchantability and fitness for a particular purpose, implied or otherwise. In no event will Mason Hale be liable for direct, indirect, incidental, or consequential damages of any kind.
Thank you!
Thanks to Sean Allen, John Baxter, Carl de Cordova, Jeff Evans, Alan German, Dave Habermann, Andrew Hartlan, David Huett, Kyle Jessup, Chong-Yee Khoo, Scott S. Lawton, Manton Reece, Bill Seitz, Jon Stevens, Jon Weiderspan, Dave Winer and all the other wonderful people on the frontier-talk mailing list.